文科生妈妈:和孩子一起用Scratch从头学编程,原来这么有趣!
今年暑假,我和孩子在家百无聊赖。作为全职文科生妈妈的我,突发奇想,决定和孩子一起通过游戏的方式学编程!
本文由花友@兔小丽发布于小花生写作计划
很多人听到编程两个字,都不明觉厉,脑海中浮现出这样一个画面。
没错,我家就有这样一个程序员,我怎么会不知道编程是什么样呢?
虽然我是个文科生,但我还是决定和孩子一起探索一下这个陌生的领域,毕竟我们生活在西雅图这个IT重镇,马路上随便碰到个人,一半以上概率是码农,不学点技能都没法在此地抬头了。
这次,我没有去看什么HTML, C++,Python之类的“鸟语”,而是选择了目前儿童编程学习领域普及度最高的 Scratch 作为入门工具。
为什么决定用Scratch的呢?
其实我是靠搜索结果推断出来的。我在谷歌、亚马逊、当地图书馆系统网站分别搜索了一圈儿童编程的关键词,出来的结果有80%以上都提到这个叫做Scratch的神奇网站,那么我们就不妨试一试吧,反正是免费的,不会吃什么亏上什么当。
为什么没有选乐高机器人呢?
贵啊,乐高的机器人动辄几千,没有专业老师和教案很难立刻上手,要学先得买各种套装、零配件,我还是不太敢一步就入坑太深。而且在真正的工作领域中,乐高编程和实际的代码编程的语言并不是很像,Scratch则更为类似些,只是把它简化了。
那么,为什么要让孩子学编程呢?
其实不是让孩子学,是我自己想学,所以整个过程是 我和孩子一起学编程,而不是我教孩子编程。
孩子在看我学的过程中,他也学到了些东西,不是100%立刻自己就精通了,而是他终于明白了,噢!编程原来可以做这些事情,我也可以挑一些简单的小任务来做,虽然还需要妈妈帮忙。
小孩子在学习的过程中,从最初并不了解编程是神马,到看我学得特别兴致勃勃,他也有了非常浓厚的兴趣,变成了他每天早晨催着我学一个新游戏给他玩,再到最后和我一起出谋划策,我想我的启蒙的目的就达到了。
具体怎么学的呢?
接下来给大家介绍下我们学习时的最简参考资料和步骤,希望能给大家一些参考。
Step 1:首先,登录scratch的官方网站(https://scratch.mit.edu/)点击右上方 Join Scratch,注册一个账号,这样你每次编程的项目就都会保存下来,可以发布,也可以存在本地不公开出来。
Step 2:第二步,去网上随便搜本关于scratch编写游戏的操作性比较强的指导书,关键词可以包括 scratch + child / kid / game 等等,比如我们就是在图书馆随便搜到一本2017年新出版的新书 Code Your Own Games,里面包括了20个有非常具体步骤和解释、界面演示的游戏编程项目。
建议书最好是2016、2017年新出版的,这样里面的操作界面和步骤和实际是同步的,不会过时或者不管用了。
相信我,现在市面上能找到的scratch的书真的很丰富,不必发愁找不到,因为我之前的调研显示,这个MIT研发的小软件真的很popular。
在美国的书店里,我看到关于儿童编程的书架就有满满两个,作为新世纪的super skill,在米国,很多学校都有这样的兴趣课,计算机真的已经从娃娃抓起了。
这些是近期我从图书馆借过的部分Scratch编程书:
Step 3:注册了账号、有了书,第三步就是撸起袖子开始学了。
我们的节奏是一天一个小游戏。
从第一天学最简单的人物创建、背景创建、基本动作如开始、前进、声音、触发按钮开始,每个小游戏都会增加一些新的功能进来,慢慢从第二第三阶段,引入了条件句 if then,如果这只小猫碰到了苹果,那么它就会喵喵叫,如果这只小猫过了马路,那么它就能的一分.
后来又加入了循环,游戏情节也越来越复杂,比如设置了多个变量,不同变量之间会互相影响赋值,增加了多个玩家同时操作的功能,趣味性一步步在提高。
看我说的这么热闹,其实如果你一天只学一样新技能的话,压力一点也不大。
我家的4岁娃最初是看热闹吃瓜群众一枚,等我写完看到效果就嗷嗷叫,觉得好神奇。
渐渐地,他开始吵着自己来操作已经完工的游戏,自己按键盘上下左右键来控制人物、小汽车、飞机、小鱼前进、弹跳。
后来,他开始给我提设计方面的修改意见,比如要求把飞机涂成蓝色,把墙涂成砖红色,小草要几颗,赛道设计成几道弯,渐渐成了我的小助手,开始承担给特效配音的工作,比如说Game Over。有时候游戏按着书上说的写出来,死活出不来效果,他还劝我,妈妈别着急,试试重启电脑吧!
以下是我们的一些小作品:
我们的第一个游戏:Hungary Cat
小猫可以随着鼠标移动,随意画几个苹果,碰到苹果时,小猫就会喵喵叫,苹果就自动消失了。
第五个游戏:Tunnel of Gold,自己亲手绘制迷宫图,小猫沿着橙色道路上下左右行走,目标是吃掉终点的金子。撞墙的时候可以自动退一步。
第10个游戏:Flappy Fish
不停按空格控制小鱼跳跳跳,不要掉下来,也不要撞到柱子上面,装上柱子或者掉下来就Game Over了,分数是每经过一个柱子+1。
相信很多人玩过这个游戏,控制小鱼一直不撞到那个柱子,在中间游啊游,这是具体的代码界面:
控制小鱼的:
控制柱子的:柱子可以移动上下位置,增加了难度。
第15个游戏:Catch the Pizzas
天上会随意掉Pizza,小猫在地上来回走,碰到一个Pizza就加一分,Pizza掉在地上就减一条life,游戏结束会告诉你总分。
第16个游戏:Rocket Blaster
火箭可以平行发射子弹,打飞来的陨石,如果打中陨石会消失得1分,如果火箭撞上陨石,那么Game Over。方向键可以控制火箭上下移动躲开陨石。
最后分享几个我认为,和孩子一起学编程要把握的几个原则:
1、循序渐进,不要一口吃一个胖子
每个游戏都会引入一些新的功能,最开始很容易打鸡血,想一口气做好几个。但是一天做太多个,容易基础掌握的不牢固,不如一天做一个就好,按着书本做成功之后,可以和孩子讨论下,怎么改进成有自己风格的原创作品,而不是照着书会做,没了书两眼一抹黑了。
我和娃是坚持了整整20天,做完了一本书的20个游戏,可以说掌握了scratch这个软件的80%精髓,今后自己想写点自己原创的小游戏,靠学过的这些技能基本上就可以通吃了。
但是很多人也就坚持个两三天,结局就是好像没有学过一样,只知道皮毛,体验不到真正的乐趣。
2、给孩子参与的机会,不要怕他把你的电脑碰坏
很多爸爸妈妈觉得,孩子太小,摸你的电脑很容易造成致命的损失,比如数据全没了,进水了,键盘失灵了,屏幕砸碎了之类的。其实并没有那么可怕,让孩子摸摸你的键盘,他会很兴奋,也会很有成就感。因为按了箭头,小猫就走动起来,而原地蹦高,看到了编程的神奇之处——给它指令,让电脑听你的话。
3、要多炫耀多晒,自信是成功之母
每次做出来一个小游戏,都不妨录个像,发到朋友圈、亲友群里,增加孩子的自信,让孩子觉得自己好厉害的感觉,你自己也会因此觉得很有成就感,明天还有动力和孩子继续挑战高难度,做个更好玩的项目。
4、放飞你的想象
曾经觉得自己不可能会写编程,曾经觉得4岁小孩怎么可能懂编程,这些偏见都不应该禁锢你,放飞你的想象力,只要每天都尝试去做一点点,从自己感兴趣的部分,到挑战一些难一点的概念和功能,你和你的小孩都会创造奇迹。
如果真的你没看懂,卡壳做不出来,不妨放下几天,换个别的项目,也许过几天就有思路了,抗打击、有耐心和毅力也是一名优秀程序员的必备素养。
点击"阅读原文"可与作者直接交流 ...
相关阅读:
感谢订阅 “小花生网”
和你分享世界上先进的教育资源和方法
周一:英文原版新书开团
周二:话说思维和方法
周三:怎么阅读,怎么学英语
周四、五:教育思考和实践
周六、日:美好生活画报、热点讨论